
using Core.SimpleTemp.Application.UserApp;
using Core.SimpleTemp.Common;
using Core.SimpleTemp.Entitys;
using Core.Toolkit.Core.Application;
using System;
using System.Collections.Generic;

namespace Core.SimpleTemp.Application
{
    /// <summary>
    /// 隐患_隐患台账
    /// </summary>
    [CreateMap(typeof(YH_StandingBook))]
    public class YH_StandingBookDto : Dto
    {
        public DateTime? TimeBegin { get; set; }
        public DateTime? TimeEnd { get; set; }
        public String State { get; set; }
        [KeyToValue("6010", "State")]
        public String StateText { get; set; }
        public bool? IsMajorDanger { get; set; }
        public String StandardContent { get; set; }
        public Guid? StandardID { get; set; }
        public String StandingBookClass { get; set; }
        public String SearchMajorCode { get; set; }
        /// <summary>
        /// 隐患台账编码
        /// </summary>
        public String StandingBookNo { get; set; }
        /// <summary>
        /// 整改期限
        /// </summary>
        public DateTime? DeadLine { get; set; }
        /// <summary>
        /// 上报分类(0计划/1非计划/2外部机构)
        /// </summary>
        public String Type { get; set; }
        /// <summary>
        /// 隐患计划排查明细ID
        /// </summary>
        public Guid? ScreeningPlanProDetailId { get; set; }
        /// <summary>
        /// 机构类别
        /// </summary>
        public String InstitutionTypes { get; set; }
        /// <summary>
        /// 单位名称
        /// </summary>
        public String CompanyName { get; set; }
        /// <summary>
        /// 发现人
        /// </summary>
        public Guid? Discoverer { get; set; }
        [ConcurrentKeyToValue(SysUserAppService.DATA_DIC_KEY, "Discoverer")]
        /// <summary>
        /// 发现人
        /// </summary>
        public string DiscovererText { get; set; }
        /// <summary>
        /// 带班长
        /// </summary>
        public Guid? Monitor { get; set; }
        /// <summary>
        /// 带班长审批意见
        /// </summary>
        public String ApprovalOpinion { get; set; }
        /// <summary>
        /// 带班长审批时间
        /// </summary>
        public DateTime? ApprovalDate { get; set; }
        /// <summary>
        /// 组织类别
        /// </summary>
        public String OrganizationType { get; set; }
        [KeyToValue("7835", "OrganizationType")]
        public String OrganizationTypeText { get; set; }
        /// <summary>
        /// 隐患发现时间
        /// </summary>
        public DateTime? DiscoveryTime { get; set; }
        public DateTime? DiscoveryTimeEnd { get; set; }
        /// <summary>
        /// 检查类别
        /// </summary>
        public String InspectType { get; set; }
        [KeyToValue("102", "InspectType")]
        public String InspectTypeText { get; set; }
        /// <summary>
        /// 隐患所属区域
        /// </summary>
        public Guid? RiskRegion { get; set; }
        [ConcurrentKeyToValue("97", "RiskRegion")]
        public String RiskRegionText { get; set; }
        /// <summary>
        /// 隐患位置
        /// </summary>
        public Guid? RiskPosition { get; set; }
        [ConcurrentKeyToValue("7556", "RiskPosition")]
        public String RiskPositionText { get; set; }
        /// <summary>
        /// 隐患分类
        /// </summary>
        public Guid? RiskType { get; set; }
        [ConcurrentKeyToValue("095036", "RiskType")]
        public String RiskTypeText { get; set; }
        /// <summary>
        /// 隐患等级ID
        /// </summary>
        public Guid? RiskLevel { get; set; }
        [ConcurrentKeyToValue("03", "RiskLevel")]
        public String RiskLevelText { get; set; }
        /// <summary>
        /// 隐患描述
        /// </summary>
        public String RiskDescription { get; set; }
        /// <summary>
        /// 是否为重大隐患
        /// </summary>
        public bool IsMajor { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public bool HaveContractor { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Guid? Contractor { get; set; }
        /// <summary>
        /// 承包商名称ID
        /// </summary>
        public String RectificationCase { get; set; }
        /// <summary>
        /// 整改资金
        /// </summary>
        public double RectificationFund { get; set; }
        /// <summary>
        /// 整改责任部门
        /// </summary>
        public Guid? Department { get; set; }

        [ConcurrentKeyToValue("9009", "Department")]
        public String DepartmentName { get; set; }
        /// <summary>
        /// 整改责任人
        /// </summary>
        public Guid? RectificationLeading { get; set; }
        [ConcurrentKeyToValue("9008", "RectificationLeading")]
        public String RectificationLeadingName { get; set; }
        /// <summary>
        /// 整改人
        /// </summary>
        public Guid? Rectificationer { get; set; }
        [ConcurrentKeyToValue("9008", "Rectificationer")]
        public String RectificationerName { get; set; }
        /// <summary>
        /// 计划完成时间
        /// </summary>
        public DateTime? PlanTime { get; set; }
        /// <summary>
        /// 是否制定应急预案
        /// </summary>
        public String HaveContingencyPlan { get; set; }
        /// <summary>
        /// 应急预案内容
        /// </summary>
        public String EmergencyPlan { get; set; }
        /// <summary>
        /// 当前控制措施
        /// </summary>
        public String CurrentPlan { get; set; }
        /// <summary>
        /// 整改描述
        /// </summary>
        public String RectificationDescription { get; set; }
        /// <summary>
        /// 实际完成时间
        /// </summary>
        public DateTime? ActualTime { get; set; }

        /// <summary>
        /// 指定验收人
        /// </summary>
        public Guid? Acceptancer { get; set; }
        [ConcurrentKeyToValue("9008", "Acceptancer")]
        public String AcceptancerName { get; set; }
        /// <summary>
        /// 验收意见
        /// </summary>
        public String ApprovalResult { get; set; }
        /// <summary>
        /// 验收部门
        /// </summary>
        public Guid? AppointDepartment { get; set; }
        /// <summary>
        /// 验收用户
        /// </summary>
        public Guid? AppointPerson { get; set; }
        /// <summary>
        /// 验收时间
        /// </summary>
        public DateTime? AppointTime { get; set; }
        /// <summary>
        /// 状态(保存/提交)
        /// </summary>
        public String Status { get; set; }
        /// <summary>
        ///隐患进度(/0待审批/1已生效/2审批退回/3验收通过/4验收退回)
        /// </summary>
        public String Schedule { get; set; }
        /// <summary>
        /// 隐患进度文字描述
        /// </summary>
        [KeyToValue("6010", "Schedule")]

        public String ScheduleText { get; set; }
        /// <summary>
        /// 隶属工厂
        /// </summary>
        public Guid? CreateFactory { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Guid? CreateDept { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public Guid? UpdateDept { get; set; }
        /// <summary>
        /// 隐患附件
        /// </summary>
        public ICollection<YH_StandingBookAttachmentDto> YH_StandingBookAttachment { get; set; }
        /// <summary>
        /// 隐患附件—整改前
        /// </summary>
        public ICollection<YH_StandingBookAttachmentDto> YH_AttachmentBefore { get; set; }
        /// <summary>
        /// 隐患附件—整改后
        /// </summary>
        public ICollection<YH_StandingBookAttachmentDto> YH_AttachmentAfter { get; set; }
        /// <summary>
        /// 隐患_隐患排查明细
        /// </summary>
        public ICollection<YH_ScreeningDetailDto> YH_ScreeningDetail { get; set; }

    }
}
